Unless otherwise indicated herein, the description provided in this section is not itself prior art to the claims and is not admitted to be prior art by inclusion in this section.
In a wireless communication system, a base station may serve user equipment devices (UEs) such as cell phones, wirelessly-equipped computers, tracking devices, embedded wireless modules or the like over an air interface. In practice, the air interface may define a continuum of transmission time intervals (TTIs) in which communications may pass on a downlink from the base station to the UEs and on an uplink from the UEs to the base station. In particular, in each TTI, the air interface may define a quantity of air interface resources, such as physical resource blocks (PRBs) or the like on which data may be modulated using an appropriate modulation and coding scheme.
When a UE is served by a base station in such an arrangement and the UE has data to communicate over the air to the base station, the UE may transmit to the base station a scheduling request asking the base station to assign air interface resources for uplink data transmission to the base station. Considering various factors, such as the extent of data that the UE has buffered for transmission, the UE's current air interface signal strength, the UE's available transmission power, and current load on the air interface, the base station may then allocate certain uplink air interface resources as a “transport block” for use by the UE to engage in uplink data transmission, providing a directive to the UE indicating the allocated resources. And the UE may then transmit data to base station on the allocated air interface resources.
In practice, a UE engaged in such communication may implement a protocol stack defining a sequence of logical processing layers, ranging from an application layer down to a physical layer, with the UE processing the data at each layer, such as by adding a layer-specific header or other overhead. For instance, the application layer may output application data (e.g., user data) as a series of application-layer protocol data units (PDUs) each encoded in an application-layer specific manner, the next layer down may receive each such application-layer PDU as a respective service data unit (SDU) and may add its own layer-specific overhead and output a PDU for processing by the next layer down from it, and so forth. Ultimately, this processing would then culminate in the physical layer outputting the data for transmission over the air to the base station.
As a specific example of this, a UE engaged in voice over Internet Protocol (VoIP) communication may apply a voice codec at its application layer to encode digitized voice at a particular rate, such as an Adaptive Multi-Rate (AMR) Wideband 12.65 codec that generates 253 bits of coded speech every 20 milliseconds (for a net data rate of 12.65 kilobits per second) and may encapsulate each 253 bits in a Real-time Transport Protocol (RTP) header of typically 12 bytes as an RTP packet. Each RTP packet may then pass to a Transport layer, which may add a UDP header of typically 8 bytes, and to an Internet layer, which may add an IPv6 header of typically 40 bytes, thus producing an IP packet of about 733 bits every 20 milliseconds. To facilitate efficient air interface transmission of such a packet, the packet may then pass to a Packet Data Convergence Protocol (PDCP) layer, which may apply robust header compression (RoHC) that may replace the RTP, UDP, and IP headers with a much smaller RoHC header typically around 3 bytes (i.e., just 24 bits). In turn, each packet with compressed header may then pass through one or more link layers such as a Radio Link Protocol (RLP) layer, which may add an RLP header, and a Media Access Control (MAC) layer, which may add a MAC layer, and the end result may then be modulated on the physical layer for transmission in allocated air interface resources to the base station.
In this process, each packet that arrives at the RLP layer is an RLP SDU, and the RLP layer and MAC layer would then add overhead to that RLP SDU, thus producing a MAC PDU. Optimally, the UE would then transmit this MAC PDU in a particular uplink transport block allocated by the base station. In some cases, however, the transport block allocated by the base station may not be large enough to carry the RLP SDU plus the added RLP and MAC overhead. This may happen, for instance, if the UE is in relatively poor coverage of the base station, in which case the UE may need to use a relatively low-order modulation and coding scheme in which individual air interface resources represent fewer bits of data, so that more air interface resources are needed to represent a given extent of data. Further, this may happen if the UE's available transmit power limits the number of PRBs on which the UE can transmit concurrently in a given TTI.
When faced with a situation where the transport block allocated by the base station is not large enough to carry the RLP SDU plus the added RLP and MAC overhead, the UE may resort to segmenting the RLP SDU into two or more RLP SDUs and processing each smaller RLP SDU separately through the RLP, MAC, and physical layers for transmission in a respective transport block. Further, in this situation, the base station may recognize that the transport block per TTI would be too small to carry the UE's intended MAC PDU, and so the base station may responsively allocate multiple transport blocks to the UE allow the UE to transmit the multiple segments each as a separate MAC PDU (with respective added overhead). For instance, the base station may allocate the required number of single-TTI transport blocks in consecutive TTIs or otherwise in upcoming TTIs.
A problem with this segmentation process, however, is that it adds potentially extensive additional overhead to the overall transmission, since the UE adds RLP and MAC overhead respectively to each segment of the original RLP SDU, rather than merely adding RLP and MAC overhead to the entire RLP SDU. This added overhead may thus contribute to air interface load, which could impact user experience for the UE and for others. Further, this increase in overhead may also delay the UE's overall communication, which could further impact user-experience, particularly for latency-sensitive communications such as voice.